<?php

/**
 * This is the model class for table "tb_mercadoria".
 *
 * The followings are the available columns in table 'tb_mercadoria':
 * @property integer $ID_MERCADORIA
 * @property string $DESCRICAO_MERCADORIA
 * @property string $UNIDADE_MERCADORIA
 * @property integer $QUANTIDADE_MERCADORIA
 * @property string $ESTADO_MERCADORIA
 * @property double $VALORUNI_MERCADORIA
 * @property string $VALIDADE_MERCADORIA
 * @property string $DT_ENTRADA_MERCADORIA
 * @property string $DT_SAIDA_MERCADORIA
 * @property string $DT_ENVIO_MERCADORIA
 * @property integer $PALLETS_MERCADORIA
 * @property string $UNIDADE_ARMAZENAGEM
 * @property integer $TB_SERVICO_ID_SERVICO
 *
 * The followings are the available model relations:
 * @property TbServico $tBSERVICOIDSERVICO
 * @property TbProcesso[] $tbProcessos
 */
class Mercadoria extends CActiveRecord
{
	/**
	 * Returns the static model of the specified AR class.
	 * @param string $className active record class name.
	 * @return Mercadoria the static model class
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}

	/**
	 * @return string the associated database table name
	 */
	public function tableName()
	{
		return 'tb_mercadoria';
	}

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array('DESCRICAO_MERCADORIA, UNIDADE_MERCADORIA, QUANTIDADE_MERCADORIA, ESTADO_MERCADORIA, VALORUNI_MERCADORIA, VALIDADE_MERCADORIA, DT_ENTRADA_MERCADORIA, PALLETS_MERCADORIA, TB_SERVICO_ID_SERVICO', 'required'),
			array('QUANTIDADE_MERCADORIA, PALLETS_MERCADORIA, TB_SERVICO_ID_SERVICO', 'numerical', 'integerOnly'=>true),
			array('VALORUNI_MERCADORIA', 'numerical'),
			array('DESCRICAO_MERCADORIA, ESTADO_MERCADORIA', 'length', 'max'=>200),
			array('UNIDADE_MERCADORIA', 'length', 'max'=>100),
			array('UNIDADE_ARMAZENAGEM', 'length', 'max'=>15),
			array('DT_SAIDA_MERCADORIA, DT_ENVIO_MERCADORIA', 'safe'),
			// The following rule is used by search().
			// Please remove those attributes that should not be searched.
			array('ID_MERCADORIA, DESCRICAO_MERCADORIA, UNIDADE_MERCADORIA, QUANTIDADE_MERCADORIA, ESTADO_MERCADORIA, VALORUNI_MERCADORIA, VALIDADE_MERCADORIA, DT_ENTRADA_MERCADORIA, DT_SAIDA_MERCADORIA, DT_ENVIO_MERCADORIA, PALLETS_MERCADORIA, UNIDADE_ARMAZENAGEM, TB_SERVICO_ID_SERVICO', 'safe', 'on'=>'search'),
		);
	}

	/**
	 * @return array relational rules.
	 */
	public function relations()
	{
		// NOTE: you may need to adjust the relation name and the related
		// class name for the relations automatically generated below.
		return array(
			'tBSERVICOIDSERVICO' => array(self::BELONGS_TO, 'TbServico', 'TB_SERVICO_ID_SERVICO'),
			'tbProcessos' => array(self::HAS_MANY, 'TbProcesso', 'TB_MERCADORIA_ID_MERCADORIA'),
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			'ID_MERCADORIA' => 'Id Mercadoria',
			'DESCRICAO_MERCADORIA' => 'Descricao Mercadoria',
			'UNIDADE_MERCADORIA' => 'Unidade Mercadoria',
			'QUANTIDADE_MERCADORIA' => 'Quantidade Mercadoria',
			'ESTADO_MERCADORIA' => 'Estado Mercadoria',
			'VALORUNI_MERCADORIA' => 'Valoruni Mercadoria',
			'VALIDADE_MERCADORIA' => 'Validade Mercadoria',
			'DT_ENTRADA_MERCADORIA' => 'Dt Entrada Mercadoria',
			'DT_SAIDA_MERCADORIA' => 'Dt Saida Mercadoria',
			'DT_ENVIO_MERCADORIA' => 'Dt Envio Mercadoria',
			'PALLETS_MERCADORIA' => 'Pallets Mercadoria',
			'UNIDADE_ARMAZENAGEM' => 'Unidade Armazenagem',
			'TB_SERVICO_ID_SERVICO' => 'Tb Servico Id Servico',
		);
	}

	/**
	 * Retrieves a list of models based on the current search/filter conditions.
	 * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
	 */
	public function search()
	{
		// Warning: Please modify the following code to remove attributes that
		// should not be searched.

		$criteria=new CDbCriteria;

		$criteria->compare('ID_MERCADORIA',$this->ID_MERCADORIA);
		$criteria->compare('DESCRICAO_MERCADORIA',$this->DESCRICAO_MERCADORIA,true);
		$criteria->compare('UNIDADE_MERCADORIA',$this->UNIDADE_MERCADORIA,true);
		$criteria->compare('QUANTIDADE_MERCADORIA',$this->QUANTIDADE_MERCADORIA);
		$criteria->compare('ESTADO_MERCADORIA',$this->ESTADO_MERCADORIA,true);
		$criteria->compare('VALORUNI_MERCADORIA',$this->VALORUNI_MERCADORIA);
		$criteria->compare('VALIDADE_MERCADORIA',$this->VALIDADE_MERCADORIA,true);
		$criteria->compare('DT_ENTRADA_MERCADORIA',$this->DT_ENTRADA_MERCADORIA,true);
		$criteria->compare('DT_SAIDA_MERCADORIA',$this->DT_SAIDA_MERCADORIA,true);
		$criteria->compare('DT_ENVIO_MERCADORIA',$this->DT_ENVIO_MERCADORIA,true);
		$criteria->compare('PALLETS_MERCADORIA',$this->PALLETS_MERCADORIA);
		$criteria->compare('UNIDADE_ARMAZENAGEM',$this->UNIDADE_ARMAZENAGEM,true);
		$criteria->compare('TB_SERVICO_ID_SERVICO',$this->TB_SERVICO_ID_SERVICO);

		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
}